<?xml version='1.0' encoding='ISO-8859-1' ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"            
      xmlns:jb="http://java.sun.com/jsf/composite/componentes"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/pages/core/plantilla/plantillaPrincipal.xhtml">
        <ui:define name="contenido">   
            <SCRIPT language="JavaScript" type="text/javascript">
                function handleRechazarJS(xhr, status, args) {
                    if(args.CallbackParam) {  
                        carDialogRechazar.show();  
                    }  
                }  
                function handleConfirmarJS(xhr, status, args) {
                    if(args.CallbackParam) {  
                        carDialogConfirmar.show();  
                    }  
                } 
                function handleAnularJS(xhr, status, args) {
                    if(args.CallbackParam) {  
                        carDialogAnular.show();  
                    }  
                } 
            </SCRIPT>
            <h:form onsubmit="return checkSubmit();"  id="frmPrincipal">
                <p:panel id="pnlPrincipal" header="#{i18n['panel.titulo.solicitud.compra']} / #{sessionMBean.titulo} #{solicitudCompraMBean.dto.id}" style="#{applicationMBean.estiloTitulo}">
                    <h:outputLabel value="#{i18n['solicitud.compra.agrupacion.datos.generales']}" styleClass="subTitulo" />
                    <p:separator />
                    <h:panelGrid id="pgFormDto" columns="8" cellpadding="4">

                        <h:outputLabel for="itEmpresa" styleClass="label" value="#{i18n['sol.compra.empresa']}"/>
                        <h:outputText id="itEmpresa" value="#{solicitudCompraMBean.dto.empresaDto.descripcion}" />

                        <h:outputLabel for="itOrganizacion" styleClass="label" value="#{i18n['sol.compra.organizacion']}"/>
                        <h:outputText id="itOrganizacion" value="#{solicitudCompraMBean.dto.organizacionDto.nombre}" />

                        <h:outputLabel for="itDescripcion" styleClass="label" value="#{i18n['sol.compra.descripcion']}"/>
                        <p:inputText id="itDescripcion" label="#{i18n['sol.compra.descripcion']}" 
                                     value="#{solicitudCompraMBean.dto.descripcion}"  readonly="#{sessionMBean.accion == applicationMBean.ver || !solicitudCompraMBean.accesoGuardar}"
                                     required="true" size="60" maxlength="200" styleClass="txtCampoObligatorio">
                            <f:validateLength maximum="200" minimum="1" />
                        </p:inputText>

                        <h:outputLabel for="itSolicitante" styleClass="label" value="#{i18n['sol.compra.solicitante']}"/>
                        <p:autoComplete id="itSolicitante" value="#{solicitudCompraMBean.dto.solicitanteDto}" completeMethod="#{usuarioMBean.autoCompletarUsuario}"
                                        label="#{i18n['sol.compra.solicitante']}" readonly="#{sessionMBean.accion == applicationMBean.ver || !solicitudCompraMBean.accesoGuardar}" maxResults="10" minQueryLength="#{applicationMBean.minQueryLengthAutoComplete}" queryDelay="1" 
                                        converter="usuarioConvert" var="sn" itemLabel="#{sn.descripcion}" itemValue="#{sn}" size="50" forceSelection="true"> 
                            <p:column style="#{applicationMBean.estiloObligatorio}" > 
                                #{sn.rolDto.descripcion} || #{sn.descripcion}
                            </p:column> 
                        </p:autoComplete>

                        <h:outputLabel for="itCentroCosto" styleClass="label" value="#{i18n['solicitud.compra.centro.costos']}"/>
                        <p:selectOneMenu id="itCentroCosto" value="#{solicitudCompraMBean.dto.centroCostoDto}"  converter="centroCostoConvert"  disabled="#{sessionMBean.accion == applicationMBean.ver || !solicitudCompraMBean.accesoGuardar}"                               
                                         style="#{applicationMBean.estiloObligatorio}" required="true">
                            <f:selectItems value="#{solicitudCompraMBean.listaCentroCostos}" var="centroDto"  itemLabel="#{centroDto.descripcion}" itemValue="#{centroDto}" />                        
                        </p:selectOneMenu>

                        <h:outputLabel styleClass="label" value="#{i18n['sol.compra.estado']}"/>                    
                        <h:outputText  value="#{solicitudCompraMBean.dto.estadoTexto}" />

                        <h:outputLabel for="itComentario" styleClass="label" value="#{i18n['general.label.comentario']}"/>
                        <p:inputTextarea id="itComentario" label="#{i18n['general.label.comentario']}" value="#{solicitudCompraMBean.dto.comentario}"
                                         readonly="#{sessionMBean.accion == applicationMBean.ver || !solicitudCompraMBean.accesoGuardar}"
                                         required="false" maxlength="300" cols="50" rows="3" style="txtCampoObligatorio">                            
                        </p:inputTextarea>

                    </h:panelGrid>          

                    <h:outputLabel value="#{i18n['general.label.campos.auditoria']}" styleClass="subTitulo" rendered="#{solicitudCompraMBean.dto.id!=null}"/>
                    <p:separator rendered="#{solicitudCompraMBean.dto.id!=null}"/>
                    <h:panelGrid id="pgCamposAuditoria" columns="6" cellspacing="10" rendered="#{solicitudCompraMBean.dto.id!=null}">
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.usuario.creacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{solicitudCompraMBean.dto.usuarioCreacionDto.descripcion}"/>
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.fecha.creacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{solicitudCompraMBean.dto.fechaCreacion}">
                            <f:convertDateTime pattern="#{applicationMBean.formatoFechaHoraSegundos}"  timeZone="#{applicationMBean.timeZone}"/>
                        </h:outputLabel>                            
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.terminal.creacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{solicitudCompraMBean.dto.terminalCreacion}"/>
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.usuario.modificacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{solicitudCompraMBean.dto.usuarioDto.descripcion}"/>
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.fecha.modificacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{solicitudCompraMBean.dto.fecha}">
                            <f:convertDateTime pattern="#{applicationMBean.formatoFechaHoraSegundos}"  timeZone="#{applicationMBean.timeZone}"/>
                        </h:outputLabel>                            
                        <h:outputLabel styleClass="label" value="#{i18n['general.label.terminal.modificacion']}"/>
                        <h:outputLabel styleClass="txtCampo" value="#{solicitudCompraMBean.dto.terminal}"/>
                    </h:panelGrid>

                    <f:facet name="footer">
                        <p:commandButton title="#{i18n['general.button.guardar.tip']}" accesskey="#{applicationMBean.keyGuardar}" ajax="false"
                                         icon="ui-icon ui-icon-disk" rendered="#{solicitudCompraMBean.accesoGuardar &amp;&amp; sessionMBean.privilegiosOpciones['716']=='true'}"
                                         onclick="return confirm('#{i18n.general_mensaje_confirmacion}');"
                                         style="#{applicationMBean.estilosBtnGuardar}"
                                         value="#{i18n['general.button.guardar']}" 
                                         action="#{solicitudCompraMBean.guardar}">                                    
                        </p:commandButton>

                        <p:commandButton title="#{i18n['general.button.atras.tip']}" accesskey="#{applicationMBean.keyRetroceder}" ajax="false"
                                         icon="ui-icon ui-icon-arrowreturnthick-1-w" immediate="true"
                                         style="#{applicationMBean.estilosBtnRetroceder}"
                                         value="#{i18n['general.button.atras']}" 
                                         action="#{solicitudCompraMBean.retroceder}">                                    
                        </p:commandButton>

                        <p:commandButton title="#{i18n['sol.compra.boton.rechazar']}"
                                         icon="ui-icon ui-icon-disk"
                                         style="#{applicationMBean.estilosBtnRechazar}"
                                         value="#{i18n['sol.compra.boton.rechazar']}" 
                                         rendered="#{solicitudCompraMBean.accesoRechazada &amp;&amp; sessionMBean.privilegiosOpciones['717']=='true'}"
                                         oncomplete="handleRechazarJS(xhr, status, args)" 
                                         update=":frmRechazar:pgFormRechazar"
                                         action="#{solicitudCompraMBean.cargarPopupRechazar}">                                    
                        </p:commandButton>  
                        
                        <p:commandButton title="#{i18n['sol.compra.boton.confirmar']}"
                                         icon="ui-icon ui-icon-disk"
                                         style="#{applicationMBean.estilosBtnConfirmar}"
                                         value="#{i18n['sol.compra.boton.confirmar']}" 
                                         rendered="#{solicitudCompraMBean.accesoConfirmada &amp;&amp; sessionMBean.privilegiosOpciones['718']=='true'}"
                                         oncomplete="handleConfirmarJS(xhr, status, args)" 
                                         update=":frmConfirmar:pgFormConfirmar, :msgs"
                                         action="#{solicitudCompraMBean.cargarPopupConfirmar}">                                    
                        </p:commandButton>
                        
                        <p:commandButton title="#{i18n['sol.compra.boton.anular']}"
                                         icon="ui-icon ui-icon-disk"
                                         style="#{applicationMBean.estilosBtnAnular}"
                                         value="#{i18n['sol.compra.boton.anular']}" 
                                         rendered="#{solicitudCompraMBean.accesoAnulada &amp;&amp; sessionMBean.privilegiosOpciones['719']=='true'}"
                                         oncomplete="handleAnularJS(xhr, status, args)" 
                                         update=":frmAnular:pgFormAnular, :msgs"
                                         action="#{solicitudCompraMBean.cargarPopupAnular}">                                    
                        </p:commandButton>

                        <p:commandButton title="#{i18n['bitacora.ver.historial']}"
                                         icon="ui-icon ui-icon-calculator"
                                         value="#{i18n['bitacora.ver.historial']}"    
                                         style="#{applicationMBean.estilosBtnHistorial}"
                                         ajax="true"
                                         rendered="#{solicitudCompraMBean.dto.id!=null &amp;&amp; sessionMBean.privilegiosOpciones['720']=='true'}"
                                         oncomplete="dlgBitacoraEntidad.show()"                                                       
                                         update=":frmPopupBitacoras:pgFormPopupBitacoras"
                                         actionListener="#{solicitudCompraMBean.verBitacora}">                                    
                        </p:commandButton>  

                        <p:commandButton title="#{i18n['ver.archivos.boton.tip']}"
                                         icon="ui-icon ui-icon-folder-open"
                                         value="#{i18n['ver.archivos.boton']}"     
                                         style="#{applicationMBean.estilosBtnArchivos}"
                                         ajax="true"
                                         rendered="#{solicitudCompraMBean.dto.id!=null &amp;&amp; sessionMBean.privilegiosOpciones['721']=='true'}"
                                         oncomplete="dlgArchivoEntidad.show()"                                                       
                                         update=":frmPopupArchivos:pgFormPopupArchivos"
                                         actionListener="#{solicitudCompraMBean.verArchivos}">                                    
                        </p:commandButton>  


                        <p:commandButton title="#{i18n['general.button.nuevo.tip']}" accesskey="#{applicationMBean.keyNuevo}"
                                         icon="ui-icon ui-icon-plus" rendered="#{solicitudCompraMBean.dto.id!=null &amp;&amp; sessionMBean.privilegiosOpciones['710']=='true'}"
                                         style="#{applicationMBean.estilosBtnNuevo}" 
                                         value="#{i18n['general.button.nuevo']}" 
                                         ajax="false"                                        
                                         actionListener="#{solicitudCompraMBean.nuevo}">                                    
                        </p:commandButton>

                    </f:facet>
                </p:panel>

                <p:panel id="pnlPrincipalDeta" header="#{i18n['panel.titulo.sol.compra.detalle']}" style="#{applicationMBean.estiloTitulo}" rendered="#{solicitudCompraMBean.dto.id!=null}">
                    <h:panelGrid id="pngTabla" columns="1">
                        <h:panelGrid id="pgFormDtoDeta" columns="13" cellpadding="4">

                            <p:commandButton title="#{i18n['sol.compra.boton.nuevo']}"
                                             icon="ui-icon ui-icon-plus"
                                             style="#{applicationMBean.estilosBtnNuevoDetalle}"
                                             value="#{i18n['sol.compra.boton.nuevo']}" 
                                             rendered="#{sessionMBean.accion!=applicationMBean.ver &amp;&amp; solicitudCompraMBean.accesoGuardar &amp;&amp; sessionMBean.privilegiosOpciones['724']=='true'}" ajax="true"
                                             oncomplete="carDialogUbicacion.show()" 
                                             update=":frmDetalle:pgFormDtoDeta"
                                             action="#{solicitudCompraMBean.nuevoDetalle}">                                    
                            </p:commandButton>  
                        </h:panelGrid>
                        <p:dataTable id="tblPrincipalDeta" value="#{solicitudCompraMBean.dto.listaDetalles}" var="dto" widgetVar="widTable" 
                                     selectionMode="single" rowKey="#{dto.id}"
                                     emptyMessage="#{i18n['sol.compra.no.detalles']}" styleClass="estiloPanel"   >                        
                            <p:column style="text-align:center;">
                                <h:panelGrid id="pgBotonesGrillaDeta" columns="10" cellspacing="5" styleClass="estiloPanelGrid">
                                    <p:commandButton icon="ui-icon  ui-icon-close" title="#{i18n['general.button.eliminar']}" 
                                                     rendered="#{sessionMBean.accion!=applicationMBean.ver &amp;&amp; solicitudCompraMBean.accesoGuardar &amp;&amp; sessionMBean.privilegiosOpciones['725']=='true'}"
                                                     ajax="true" immediate="true"
                                                     update=":frmPrincipal:pnlPrincipalDeta"
                                                     action="#{solicitudCompraMBean.eliminarDetalle}">
                                        <f:setPropertyActionListener value="#{dto}" target="#{solicitudCompraMBean.detaDto}" /> 
                                    </p:commandButton>     
                                    <p:commandButton icon="ui-icon ui-icon-search" title="#{i18n['general.button.ver.tip']}"
                                                     action="#{solicitudCompraMBean.verDetalle}" ajax="true"
                                                     oncomplete="carDialogUbicacion.show()" update=":frmDetalle:pgFormDtoDeta"
                                                     rendered="#{sessionMBean.privilegiosOpciones['726']=='true'}">
                                        <f:setPropertyActionListener value="#{dto}" target="#{solicitudCompraMBean.detaDto}" />                                                                    
                                    </p:commandButton>                                
                                    <p:commandButton icon="ui-icon ui-icon-pencil" title="#{i18n['general.button.editar.tip']}" 
                                                     rendered="#{sessionMBean.accion!=applicationMBean.ver &amp;&amp; solicitudCompraMBean.accesoGuardar &amp;&amp; sessionMBean.privilegiosOpciones['727']=='true'}"
                                                     update=":frmDetalle:pgFormDtoDeta" ajax="true"
                                                     action="#{solicitudCompraMBean.editarDetalle}" 
                                                     oncomplete="carDialogUbicacion.show()">
                                        <f:setPropertyActionListener value="#{dto}" target="#{solicitudCompraMBean.detaDto}" />                                                                    
                                    </p:commandButton>
                                </h:panelGrid>
                            </p:column>   
                            <p:column headerText="#{i18n['sol.compra.deta.item']}"  styleClass="general">
                                <h:outputText value="#{dto.item}" styleClass="general" />
                            </p:column>
                            <p:column style="text-align:left;">
                                <f:facet name="header">
                                    <h:outputText value="#{i18n['sol.compra.deta.fecha.necesidad']}" />
                                </f:facet>
                                <h:outputText value="#{dto.fechaNecesidad}">
                                    <f:convertDateTime pattern="#{applicationMBean.formatoFechaHora}"  timeZone="#{applicationMBean.timeZone}"/> 
                                </h:outputText>                                
                            </p:column> 
                            <p:column headerText="#{i18n['sol.compra.deta.producto']}">
                                <h:outputText value="#{dto.productoDetaDto.productoDto.descripcion}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['sol.compra.deta.unidad.medida']}" style="text-align: right">
                                <h:outputText value="#{dto.unidadMedidaDto.nombre}" styleClass="general" />
                            </p:column> 
                            <p:column headerText="#{i18n['sol.compra.deta.cantidad']}" styleClass="general" style="text-align: right;">
                                <h:outputText value="#{dto.cantidad}" styleClass="general" >
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                                </h:outputText>
                            </p:column>
                            <p:column headerText="#{i18n['sol.compra.deta.proveedor']}" style="text-align: right">
                                <h:outputText value="#{dto.proveedorDto.descripcion}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['sol.compra.deta.moneda']}" style="text-align: right">
                                <h:outputText value="#{dto.monedaDto.descripcion}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['sol.compra.deta.tarifa']}" style="text-align: right">
                                <h:outputText value="#{dto.tarifaDto.nombre}" styleClass="general" />
                            </p:column>
                            <p:column headerText="#{i18n['sol.compra.deta.precio.tarifa']}" styleClass="general" style="text-align: right;">
                                <h:outputText value="#{dto.precioTarifa}" styleClass="general" >
                                    <f:convertNumber pattern="#{applicationMBean.formatoMontos}" />
                                </h:outputText>
                            </p:column>
                            <p:column headerText="#{i18n['sol.compra.deta.estado']}"  styleClass="general" style="text-align: left;">
                                <h:outputText value="#{dto.estadoTexto}" styleClass="general"/>                        
                            </p:column>
                        </p:dataTable>
                    </h:panelGrid>
                </p:panel>
            </h:form>           
            <p:dialog id="idDlgBitacoraEntidad" header="#{i18n['bitacora.titulo']}" widgetVar="dlgBitacoraEntidad" resizable="false"  
                      width="900" height="450" modal="true">                        
                <ui:include src="/pages/bitacora/bitacoras.xhtml" /> 
            </p:dialog>

            <p:dialog id="idDlgArchivoEntidad" header="#{i18n['archivo.titulo']}" widgetVar="dlgArchivoEntidad" resizable="false"  
                      width="1200" height="400" modal="true">                        
                <ui:include src="/pages/archivo/archivos.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogDetalle" header="#{i18n['panel.titulo.sol.compra.detalle']}" widgetVar="carDialogUbicacion" resizable="false"  
                      width="780" height="350" modal="true">  
                <p:messages id="msjDialogDeta" showDetail="false" autoUpdate="true" />   
                <ui:include src="/pages/comp/solicitudCompra/solicitudCompraDeta.xhtml" /> 
            </p:dialog>
            <!-- POPUPS PARA EL SISTEMA DE CONTROL -->
            <p:dialog id="dialogRechazar" header="#{i18n['general.titulo.rechazar']}" widgetVar="carDialogRechazar" resizable="false"  
                      width="500" height="400" modal="true">   
                <ui:include src="/pages/comp/sistemaControl/rechazar.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogConfirmar" header="#{i18n['general.titulo.confirmar']}" widgetVar="carDialogConfirmar" resizable="false"  
                      width="500" height="400" modal="true">   
                <ui:include src="/pages/comp/sistemaControl/confirmar.xhtml" /> 
            </p:dialog>
            <p:dialog id="dialogAnular" header="#{i18n['general.titulo.anular']}" widgetVar="carDialogAnular" resizable="false"  
                      width="500" height="400" modal="true">   
                <ui:include src="/pages/comp/sistemaControl/anular.xhtml" /> 
            </p:dialog>
            <!-- FIN POPUPS PARA EL SISTEMA DE CONTROL -->
        </ui:define>
    </ui:composition>
</html>